<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>9-继承的简单使用</title>
	</head>
	<body>
		<script type="text/javascript">
			//父类
			class Father{
				//构造函数，x,y表示的是共有的属性
				constructor(x,y) {
				    this.x = x;
					this.y = y;
				}
				//加法 不需要function 方法之间也不用加,
				add(){
					console.log(parseFloat(this.x+this.y));
				}
			}
			//子类(派生类)
			class Son extends Father{
				constructor(x,y) {
					super(x,y);
				    this.x = x;
					this.y = y;
				}
			}
			var f = new Father(1,5);
			f.add();
			
			//它儿子也想用一下add方法
			var s = new Son(2,3);
			//报错如下:must call super constructor before using 'this' in derived class 
			s.add();
			/**
			 * 分析如下:在派生类son使用this之前你必须调用超类(父类的)构造函数
			 * 解决办法:就是在派生类son的构造函数的this调用之前使用一个关键字super
			 */
			//constructor: class Father { constructor(x, y) }
			//表示的是构造函数指向的对象是class Father

		</script>
	</body>
</html>
